'\" t
.\" Copyright (c) 1993 by Thomas Koenig (ig25@rz.uni-karlsruhe.de)
.\" and Copyright (C) 2008 Michael Kerrisk <mtk.manpages@gmail.com>
.\"
.\" SPDX-License-Identifier: Linux-man-pages-copyleft
.\"
.\" Modified Sat Jul 24 18:40:56 1993 by Rik Faith (faith@cs.unc.edu)
.\" Modified 1995 by Mike Battersby (mib@deakin.edu.au)
.\"
.TH raise 3 2022-12-29 "Linux man-pages 6.03"
.SH NAME
raise \- send a signal to the caller
.SH LIBRARY
Standard C library
.RI ( libc ", " \-lc )
.SH SYNOPSIS
.nf
.B #include <signal.h>
.PP
.BI "int raise(int " sig );
.fi
.SH DESCRIPTION
The
.BR raise ()
function sends a signal to the calling process or thread.
In a single-threaded program it is equivalent to
.PP
.in +4n
.EX
kill(getpid(), sig);
.EE
.in
.PP
In a multithreaded program it is equivalent to
.PP
.in +4n
.EX
pthread_kill(pthread_self(), sig);
.EE
.in
.PP
If the signal causes a handler to be called,
.BR raise ()
will return only after the signal handler has returned.
.SH RETURN VALUE
.BR raise ()
returns 0 on success, and nonzero for failure.
.SH ATTRIBUTES
For an explanation of the terms used in this section, see
.BR attributes (7).
.ad l
.nh
.TS
allbox;
lbx lb lb
l l l.
Interface	Attribute	Value
T{
.BR raise ()
T}	Thread safety	MT-Safe
.TE
.hy
.ad
.sp 1
.SH STANDARDS
POSIX.1-2001, POSIX.1-2008, C99.
.SH NOTES
Since glibc 2.3.3,
.BR raise ()
is implemented by calling
.BR tgkill (2),
.\" 2.3.2 used the obsolete tkill(), if available.
if the kernel supports that system call.
Older glibc versions implemented
.BR raise ()
using
.BR kill (2).
.SH SEE ALSO
.BR getpid (2),
.BR kill (2),
.BR sigaction (2),
.BR signal (2),
.BR pthread_kill (3),
.BR signal (7)
